思考型ゲームJEWEL ――――――――――――――――――――――――――――――――――――――― Oh!mz 1986年 4月号掲載 S−OS SWORD マシン語 JEWEL.SOS       0A000H−0A888H S:0A000H ソース  JEWEL.ASC 起動方法 JEWEL.SOSをロード JA000 コールドスタート 0A000H ホット スタート 0A28DH ――――――――――――――――――――――――――――――――――――――― 全機種共通(S−OS要)  思 考 型 ゲ ー ム J E W E L S−OS上でゲームも全機種共通です。 さすがに美しいグラフィックでというわけにはいきませんが、 味のある思考型ゲームなどはいかがでしょう。 今回ご紹介するのは、谷口祥一さんの投稿作品です。 ぜひとも入力してみんなで楽しみましょう。 ■ゲームの内容 M( Man)を操作してO(障害物)をおしのけ *( Jewel)をG(Goal)まで運ぶ最手順を探すゲームです。 Grade(面)は10面あり、 それぞれについてクリアされた手順が記録され、 再現できるようになっています。 J、K、L、Iの4つのキーを操作して Mを左、右、上、下へ動かします。 障害物(O)やJewel(*)を押して動かすのですが、 進行方向がふさがっているときには動かすことができません。 また、引っ張ることもできません。 JewelをGoalまで運ぶと1面クリアです。 ■コマンドの説明 ・M (Once More)現在の面をやり直す ・B (Back)   ひとつ前の面へ戻る ・F (Forward)  ひとつ先の面へ進む           ただしその面がクリアされていなければ           いけません。 ・T (Trace)   クリアされた手順を           再生します ■入力・実行方法 各機種のモニタ、 またはマシン語入力ツールを用いて打ち込んでください。 打ち込み終わったら、A000H〜A888Hを ファイル名JEWELとしてセーブしてください。 S−OSのモニタから、JA000[CR]で JEWELがコールドスタートします。 ホットスタートのアドレスはA28DHです。 ■プログラムの説明 メッセージ、画面データはプログラムの最後に集めましたので、 10面を突破された方は新しい面を作るなどして遊んでください。 CURSR というサブルーチンは、 DEレジスタに座標をD=x、E=yとなるようにセットしてコールすると、 カーソル位置を設定するサブルーチンです。 S−OS“SWORD”中の LOCというサブルーチンを使いました。 S−OS“MACE”を使っている方は次のように書き換えてください。  現行A131H:E5 6B 62 CD 1E 20 E1 C9 00  変更A131H:E5 2A 78 1F 73 23 72 E1 C9 ●図1 私の記録 ・―――――――――――――――――――――――・ |GRADE |1|2|3|4|5|6|7|8|9|10| |―――+―+―+―+―+―+―+―+―+―+―| |手 数|24|24|38|24|26|41|25|44|30|21| ・―――――――――――――――――――――――・ ・――――――――――――――――――――――・ |倉庫番のようなルールですが、        | |最短手順を探るというのが面白いですね。   | |プログラムの最後に画面データが       | |集めてあるので、              | |自分でデータを差し換えるのも簡単です。   | |Tコマンドが可愛くて癖になってしまいました。| |もともとはM(Man)を          | |テンキーで操作するようになっていたのですが、| |MZ−80K/C/1200/700/1500のことを考え、| |メインキーで操作するように         | |編集室で変更させていただきました。     | |40字画面でプレイしていても、        | |画面が小さいのが気になります。       | |PITMAN程度の大きさにできれば     | |面白いかもしれませんね。          | |そういった改造をするためにも、       | |できればソースで入力することをお勧めします。| |ところで本当にGRADE1は        | |24手で解けるのですか?           | |私にはわからない。(IMT)        | ・――――――――――――――――――――――・